﻿using System;
using System.Collections.Generic;
using System.Linq;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Triunfadores.BusinessEntities;
using Triunfadores.Repository;

namespace Triunfadores.Test
{
    [TestClass]
    public class TipoClienteTest
    {
        [TestMethod]
        public void ObtenerTodosLosTiposClienteTest()
        {
            TipoClienteRepository target = new TipoClienteRepository();
            IEnumerable<TipoCliente> actual;
            actual = target.GetAllTiposCliente();
            Assert.IsTrue(actual.Count() >= 1);
        }

        [TestMethod]
        public void ObtenerTipoClientePorIdTest()
        {
            TipoClienteRepository target = new TipoClienteRepository();
            var id = 1;
            TipoCliente actual;
            actual = target.GetTipoClienteById(id);
            Assert.IsTrue(actual.Id == 1);
            //Assert.IsTrue(actual.Count >= 1);
            //Assert.IsNotNull(actual);
        }

        [TestMethod]
        public void AddTipoClienteTest()
        {
            TipoClienteRepository tipoClienteRepository = new TipoClienteRepository();
            var ListEsperado = (IEnumerable<TipoCliente>)tipoClienteRepository.GetAllTiposCliente();
            TipoCliente tipoCliente = new TipoCliente()
            {
                Tipo = "Marin",
                Descripcion = "Realizando Pruebas"
            };
            tipoClienteRepository.AddTipoCliente(tipoCliente);
            var ListaCTUAL = (IEnumerable<TipoCliente>)tipoClienteRepository.GetAllTiposCliente();
            Assert.AreEqual(ListEsperado.Count() + 1, ListaCTUAL.Count(), "Error ");
        }

        [TestMethod]
        public void UpdateTipoClienteTest()
        {
            TipoClienteRepository target = new TipoClienteRepository();
            var ID = 4;
            var TIPO = "AcPrueba";
            var DESCRIPCION = "Actualizada";

            TipoCliente tipoCliente = new TipoCliente()
            {
                Id = ID,
                Tipo = TIPO,
                Descripcion = DESCRIPCION

            };
            target.UpdateTipoCliente(tipoCliente);
            var existe = target.GetTipoClienteById(ID);
            Assert.IsTrue(existe.Tipo == TIPO);
        }


    }
}
